import { Rule, RuleType, } from '@midwayjs/validate';
const stringRequired = RuleType.string().required();
// const numberRequired = RuleType.number().required();

// 简洁的登录DTO
export class LoginDto {
    @Rule(RuleType.string().required().min(1).max(50))
    username: string; // 用户名
    
    @Rule(RuleType.string().required().min(1).max(50))
    password: string; // 密码
}

// 简洁的注册DTO
export class RegisterDto {
    @Rule(stringRequired.min(1).max(20))
    username: string; // 用户名
    @Rule(stringRequired.min(1).max(11))
    phone: string; // 手机号
    @Rule(stringRequired.email())
    email: string; // 邮箱
    @Rule(stringRequired.min(6).max(6))
    password: string; // 密码
    @Rule(stringRequired.min(1).max(10))
    name: string; // 姓名
}
// export class VerifyCodeDto {
//     @Rule(stringRequired.email())
//     email: string;
//     @Rule(RuleType.string().required().valid('register', 'login', 'reset'))
//     type: string;
// }
// 用户信息更新DTO
export class UpdateUserInfoDto {
    @Rule(RuleType.string().optional().email())
    email?: string; // 邮箱（可选）
    
    @Rule(RuleType.string().optional().min(11).max(11))
    phone?: string; // 手机号（可选）
}

// export class ResetPasswordDto {
//     @Rule(stringRequired.email())
//     email: string;
//     @Rule(stringRequired.min(6).max(6))
//     code: string;
//     @Rule(stringRequired.min(6).max(20))
//     password: string;
// }
